@echo off
echo ========================================
echo 第四步到第五步参数传递修复测试
echo ========================================
echo.
echo 问题描述：
echo 第四步完成后跳转到第五步时会报系统500错误，还缺少任务ID
echo 这是因为跳转过程中缺少了参数传递
echo.
echo 修复方案：
echo 1. 第四步后端返回下一步的参数（nextTaskId, nextPtId）
echo 2. 第四步前端接收并传递这些参数到第五步
echo 3. 第五步前端验证参数完整性
echo.
echo 修复内容：
echo 1. 后端Service层：在第四步中存储下一步参数
echo 2. 后端Controller层：返回下一步参数给前端
echo 3. 前端页面：接收并传递参数到第五步
echo 4. 前端页面：添加参数验证逻辑
echo.
echo 修复的文件：
echo - CheckOutManagementServiceImpl.java (第四步后端Service)
echo - CheckOutManagementController.java (第四步后端Controller)
echo - bill-adjustment/index.vue (第四步前端)
echo - bill-adjustment-result/index.vue (第五步前端)
echo.
echo 测试步骤：
echo.
echo === 测试1：第四步参数传递 ===
echo 1. 重启后端服务
echo 2. 使用退住审批员a账号登录 (tuizhushenpiyuana / 123456)
echo 3. 进入待办任务页面
echo 4. 找到第四步"账单调整"任务
echo 5. 点击"处理"按钮进入第四步页面
echo 6. 填写审批意见并提交
echo 7. 检查是否成功跳转到第五步
echo.
echo 预期结果：
echo - 第四步提交成功后应该跳转到第五步
echo - 第五步页面应该正确接收taskId和ptid参数
echo - 第五步页面不应该显示参数缺失的错误
echo - 后端日志应该显示"=== 返回下一步参数 ==="
echo.
echo === 测试2：第五步参数验证 ===
echo 1. 在第五步页面
echo 2. 检查页面是否正确加载
echo 3. 填写审批意见并提交
echo 4. 检查是否成功提交
echo.
echo 预期结果：
echo - 第五步页面应该正确加载
echo - 提交时不应该出现500错误
echo - 提交成功后应该正确更新状态
echo - 不应该出现"待办任务ID为空"的错误
echo.
echo === 测试3：完整流程测试 ===
echo 1. 从第四步开始，完成第四步提交
echo 2. 检查跳转到第五步是否正常
echo 3. 完成第五步提交
echo 4. 检查整个流程是否顺利完成
echo.
echo 预期结果：
echo - 第四步到第五步的跳转应该正常
echo - 第五步的提交应该成功
echo - 整个流程应该顺利完成
echo - 不应该出现参数缺失的错误
echo.
echo 预期后端日志输出：
echo === 返回下一步参数 ===
echo 下一步工作流任务ID: [TASK_ID]
echo 下一步待办任务ID: [PT_ID]
echo.
echo 下一步参数:
echo   工作流任务ID: [TASK_ID]
echo   待办任务ID: [PT_ID]
echo.
echo 预期前端日志输出：
echo 提交数据: {businessId: ..., taskId: ..., ptId: ..., ...}
echo 业务ID: [ID]
echo 工作流任务ID: [TASK_ID]
echo 待办任务ID: [PT_ID]
echo.
echo 修复原理：
echo 1. 问题根源：第四步跳转到第五步时没有传递ptid参数
echo 2. 解决方案：在第四步后端返回下一步参数，前端接收并传递
echo 3. 关键点：确保参数在步骤间正确传递
echo 4. 用户体验：避免参数缺失导致的错误
echo.
echo 与第三步的对比：
echo - 第三步：有返回下一步参数的逻辑
echo - 第四步：之前没有返回下一步参数的逻辑，现在添加了
echo - 第五步：需要接收参数，现在可以正确接收
echo.
echo 注意事项：
echo - 需要重启后端服务才能生效
echo - 修复涉及后端和前端
echo - 确保参数传递的完整性
echo - 检查前端控制台和后端日志
echo.
echo 如果测试失败：
echo 1. 检查后端服务是否正常启动
echo 2. 查看后端控制台日志
echo 3. 检查前端控制台日志
echo 4. 确认参数是否正确传递
echo 5. 检查第五步页面的参数验证
echo.
echo 修复前后对比：
echo 修复前：
echo - 第四步跳转只传递id, taskId, step, type
echo - 缺少ptid参数
echo - 第五步提交时出现500错误
echo.
echo 修复后：
echo - 第四步跳转传递id, taskId, ptid, step, type
echo - 包含完整的参数
echo - 第五步提交时正常工作
echo.
pause

